package com.dwcode.macro.service;

import com.dwcode.macro.dto.Pagination;
import com.dwcode.macro.entity.TUser;
import java.util.List;

/**
 * (TUser)表服务接口
 *
 * @author makejava
 * @since 2020-09-17 22:04:57
 */
public interface TUserService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    TUser queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<TUser> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param tUser 实例对象
     * @return 实例对象
     */
    TUser insert(TUser tUser);

    /**
     * 修改数据
     *
     * @param tUser 实例对象
     * @return 实例对象
     */
    TUser update(TUser tUser);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);


    /**
     * 根据用户名和密码查询用户信息
     */
    TUser findUserByNameAndPassword(String username, String password);

    /**
     * 获取user列表对象
     */
    Pagination<TUser> getUsers(Pagination pagination);

    Pagination<TUser> findUserSearch(TUser user, Pagination<TUser> pagination);

    /**
     * 批量删除
     */
    boolean deleteBatch(int[] list);

    /**
     * 根据用户实体类进行匹配查询  用以数据校验
     */
    List<TUser> queryAll(TUser user);



}